Method for visualizing three-dimensional data

ABSTRACT

A method for providing a set of data files from a server computer to a mobile client device is disclosed according to at least one embodiment described herein. The method may include providing geometry data in a memory of the mobile client device, the geometry data being associated with a three-dimensional surface in an image scene; selecting data files with texture data for being provided by the server computer, wherein selecting data files is performed by a calculation unit of the mobile client device based on the geometry data and on visibility conditions of the three-dimensional surface in the image scene; and requesting the provision of the selected data files from the server computer to the client device. In some embodiments, the set of data files may include texture data being associated with a portion of the three-dimensional surface in the image scene.

FIELD OF THE INVENTION

The present invention pertains to a method for rendering data of athree-dimensional surface, particularly a terrain, having a multitude ofdetail levels. It is an improved method for quickly selecting only thenecessary collection of data blocks from a multitude of data blocks fordescribing the three-dimensional data from the present viewing position.This is achieved by providing the geometry data before the texture dataand then basing the selection of texture data blocks at least partiallyon the geometry data.

BACKGROUND

Rendering is the process of generating an image from a model such as athree-dimensional terrain model by means of a computer programme. Thethree-dimensional terrain model to be rendered can be a grid comprisingelevation data, such as a Digital Elevation Model (DEM), a DigitalSurface Model (DSM) or a Digital Terrain Model (DTM). The digital modelmay comprise data of a limited area, such as a model of a particularcity or landscape, as well as a model of a continent or even thecomplete Earth.

Computer rendering of three-dimensional terrain images is generallyknown from prior art: U.S. Pat. No. 7,551,172 B2 discloses a method forsending information representing three-dimensional images over anetwork, and U.S. Pat. No. 6,496,189 B1 discloses a method and apparatusfor displaying images of an area as seen from an interactively chosenobservation point on a remote device.

When rendering large three-dimensional data, particularly in a mobiledevice, the transfer speed of the data can become limiting factors.Recently, in new portable mobile electronic devices, such as Smartphonesor tablet computers, the memory for storing data and the computingcapacities have largely increased. However, normally the memory of thedevices is still too small for storing all of the needed data forrendering a three-dimensional map in the memory at the same time.Therefore, it is important to partition the data in such a way that notall of the data needs to be stored in the memory of the device. If thenetwork for the provision of the data is slow, for instance in the caseof a slow wireless internet connection, it may take too long to transferall of the data over the network for an efficient use of the data, e. g.for navigation purposes.

A common solution is to subdivide the data into smaller data blocks,wherein each of the data blocks describes a section of the data.Additionally, it is a common solution to create data blocks with severalrepresentation versions of each section, the representation versionshaving different detail levels. This allows describing a collection ofdata blocks having detail levels that can be used to render the datawith sufficient quality, while still only a fraction of the originalsize of the complete data set has to be load or transferred.

In a common method for rendering three-dimensional terrain data, a treestructure is used, which divides the data into tiles and differentlevels of detail, wherein each level of detail comprises moreinformation than the previous one, thus allowing zooming in or out whilekeeping the rendering quality and preserving the amount of memory neededon the device.

The usual way in known methods is to load all data sections from thelowest to the highest detail level while traversing down a treestructure, thus loading the higher detail levels only after the lowerdetail levels already have been loaded and displayed. With this knownsolution always some data—even if of a low detail level—is displayable,thus avoiding “holes” in the representation. However, it may instead bepreferred that the amount of transferred data is as small as possible,especially when the data is transferred over a slow network connection.

SUMMARY

Some embodiments may provide an enhanced method for loading surface datarepresenting a portion of a three-dimensional surface into a memory.

Some embodiments may provide a method that allows reducing data trafficin a network.

Some embodiments may provide a method that avoids or reduces the amountof data that is downloaded from an external server.

Some embodiments may provide a method that allows using geometry datafrom different sources.

Some embodiments may provide a method for downloading and displaying theselected surface data.

Some embodiments may provide a method being executable on a hand-heldmobile device, and to provide a hand-held device for execution ofmethods disclosed herein.

Some embodiments may provide a computer programme product for executionof said method, in particular on a hand-held device.

Some embodiments may be achieved by an automatic preselection processbased on the geometry data before downloading the surface data.

A method for providing a set of data files from a server computer to amobile client device, the set of data files comprising texture databeing associated with a portion of a three-dimensional surface in animage scene, wherein the image scene is defined by an observation pointand a direction and/or angle of view, the set of data files is a subsetof data files being stored on the server computer, and each data filecomprises texture data in one of a plurality of different detail levels,according to the invention comprises

-   -   providing geometry data in a memory of the mobile client device,        the geometry data being associated with the three-dimensional        surface in the image scene;    -   selecting data files with texture data for being provided by the        server, wherein selecting data files is performed by a        calculation unit of the client device based on the geometry data        and on visibility conditions of the three-dimensional surface        (25) in the image scene (20); and    -   requesting the provision of the selected data files from the        server computer to the client device.

In one embodiment of the method, selecting data files comprisesselecting, based on the geometry data, data files to be requested, thetexture data of which is visible in a present image scene andparticularly has a required detail level, in particular wherein datafiles, the texture data of which is not visible in a present image scenedue to geometry data, are not requested.

In a particular embodiment of the method, the geometry data compriseselevation data of the three-dimensional surface.

In another embodiment, the geometry data comprises displayable features,particularly models of individual buildings or trees.

In one embodiment of the method according to the invention, thevisibility conditions comprise a visibility of a portion of thethree-dimensional surface in the image scene, and a detail level of thetexture data associated with a portion of the three-dimensional surfacein the image scene, wherein the detail level meets the criteria of apredefined resolution quality factor, being calculated based on adistance from the surface to an observation point. In particular,calculating the quality factor is also based at least on one of thefollowing:

-   -   a screen coverage factor related to how much a texture would        cover a computer display surface when displayed;    -   a scene coverage factor related to how much of a texture covers        a surface located in a scene outside a computer display edge;        and/or    -   an actual area a minimum enclosing volume would cover of the        rendering surface.

A particular embodiment of the method according to the inventioncomprises rendering provided texture data based on the geometry dataassociated with the portion of the three-dimensional surface anddisplaying the rendered data on a display of the mobile device.

In one embodiment, this method comprises rendering default surfacetexture, particularly until the texture data is provided anddisplayable, wherein the default surface texture is based on thegeometry data. In particular, the default surface texture comprisesisohypses and/or colouring according to an elevation value provided bythe geometry data. The default surface texture can also be computed in aGPU (graphics processing unit) shader based on the geometry before beingdisplayed.

In a further embodiment of the method according to the invention, thegeometry data is provided to the memory from a data storage system ofthe client device and/or of the server, the memory particularly being acache. In particular, the geometry data is stored in the memoryaccording to the least recently used cache algorithm, and/or in indexedportions, independent of the structure of the rendered data.

In another embodiment of the method according to the invention,providing geometry data comprises merging geometry data from differentsources, particularly merging provided geometry data with user-definedgeometry data, wherein selecting data files is based on the mergedgeometry data.

In one embodiment, the geometry data comprises elevation data of thethree-dimensional surface, and the method comprises dynamicallycomputing at least one set of altered elevation data from the providedelevation data, each set of altered elevation data having a differentdetail level, particularly wherein the different detail levels of thealtered elevation data are based on the detail levels of the texturedata, particularly wherein selecting data files with texture data forrequesting from the server is based on a set of altered elevation data.

The invention also pertains to a mobile client device adapted forperforming the method according to the invention.

A mobile client device adapted for requesting a set of data files from aserver computer, the mobile client device comprising a display, a datastorage system and a calculation unit, and the set of data filescomprising texture data being associated with a portion of athree-dimensional surface in an image scene, wherein the image scene isdefined by an observation point and a direction and/or angle of view,the set of data files is a subset of data files being stored on theserver computer, and each data file comprises texture data in one of aplurality of different detail levels, and the display is adapted fordisplaying the image scene, according to the invention is characterizedin that

-   -   the data storage system is adapted for storing geometry data,        the geometry data being associated with the portion of the        three-dimensional surface in the image scene,    -   the calculation unit is adapted for selecting, based on the        geometry data and on visibility conditions of the texture, data        files with texture data for being provided by the server        computer, and    -   the computing unit is adapted for requesting the provision of        the selected data files from the server computer.

In one embodiment of the mobile client device, the data storage systemcomprises a cache memory adapted to store the geometry data,particularly according to the least recently used cache algorithm.

In one embodiment, the geometry data is provided to the data storagesystem by the server.

In another embodiment of the mobile client device, the calculation unitcomprises a graphics processing unit. Particularly, selecting data filesand/or computing default surface texture comprising isohypses, colouringand/or shading according to an elevation value provided by the geometrydata is performed by the graphics processing unit.

In a further embodiment of the mobile client device, the calculationunit is adapted for computing and rendering default surface texture,particularly until the texture data is provided and displayable, whereinthe default surface texture is based on the geometry data, in particularwherein the default surface texture comprises isohypses, colouringand/or shading according to an elevation value provided by the geometrydata.

In a particular embodiment, the calculation unit is adapted for merginggeometry data from different sources, particularly merging providedgeometry data with user-defined geometry data, and the calculation unitis also adapted for selecting data files with texture data for beingprovided by the server based on merged geometry data.

In one embodiment of the mobile client device according to theinvention, the geometry data comprises elevation data of thethree-dimensional surface, and the calculation unit is adapted fordynamically computing at least one set of altered elevation data fromthe provided elevation data, each set of altered elevation data having adifferent detail level, particularly wherein the different detail levelsof the altered elevation data are based on the detail levels of thetexture data. Particularly, the calculation unit is adapted forselecting data files with texture data for requesting from the serverbased on a set of altered elevation data.

The invention also pertains to a computer programme product forperforming the method according to the invention.

A computer programme product, comprising programme code which is storedon a machine-readable medium, or being embodied by an electromagneticwave comprising a programme code segment, and having computer-executableinstructions for performing, in particular when run on a calculationunit of a mobile client device according to the invention, the followingsteps of the method according to the invention:

-   -   selecting, based on the geometry data and on visibility        conditions of the three-dimensional surface in the image scene,        data files with texture data for being provided by the server,        and    -   requesting the provision of the selected data files from the        server computer to the client device.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention in the following will be described in detail by referringto exemplary embodiments that are accompanied by figures, in which:

FIG. 1 shows the distribution of tiles in different detail levels of arepresentation of a terrain;

FIG. 2 shows an exemplary embodiment of a hand-held mobile deviceaccording to the invention, being connected with a server computer;

FIG. 3 illustrates a hierarchical file system, wherein data files at aplurality of different detail levels are stored as nodes of the filesystem;

FIG. 4a is an image scene showing a portion of a surface withoutelevation data;

FIG. 4b is an image scene showing the portion of the surface of FIG. 4awith elevation data;

FIG. 5a-b illustrate the selection of texture data on a surface withoutand with elevation data;

FIG. 6a-b illustrate the selection of texture data on a surface withoutand with feature data;

FIG. 7a is a flow chart illustrating a known method for selecting datafiles for downloading;

FIG. 7b is a flow chart illustrating an embodiment of a method accordingto the invention for selecting data files for downloading; and

FIG. 8 is an image scene showing the portion of the surface withelevation data of FIG. 4b with additional elevation data.

DETAILED DESCRIPTION

FIG. 1 shows an example for a representation of a terrain in threedifferent detail levels 331-333. The representation is subdivided into amultitude of tiles, each of which particularly comprising a bitmap of apart of the representation. Each tile is assigned a number from whichits position and detail level can be derived. In particular, each tileis comprised by a certain data file. The first detail level comprisesthe lowest amount of details.

In this example, in the first detail level 331 the terrain is subdividedinto the four rectangular tiles with the numbers “0”, “1”, “2” and “3”,each corresponding to four tiles of the second detail level 332 whichis, thus, subdivided into sixteen tiles. Tile “2” of the first detaillevel e. g. corresponds to tiles “20”, “21”, “22” and “23” of the seconddetail level. Each of the second detail level tiles corresponds to fourtiles of the next higher level, the third detail level 333, so that thislevel is subdivided into sixty-four tiles. Tile “13” of the seconddetail level e. g. corresponds to tiles “130”, “131”, “132” and “133” ofthe second detail level.

In FIG. 2 an exemplary embodiment of a server-client-system forexecution of the method according to the invention is depicted. Thedepicted system comprises an exemplary embodiment of a mobile device 30according to the invention. The device is hand-held and comprises arendering unit (not shown) for rendering data representing physicalfeatures of a portion of a three-dimensional surface, particularly by amethod according to the invention, as described further below. Themobile device furthermore comprises a display 31, particularly designedas a touchscreen, the display 31 being adapted for displaying an imagebased on the data rendered by the rendering unit, particularly arepresentation of a three-dimensional terrain. The display 31 comprisesa zoom functionality 33 for zooming in and out, i.e. changing the detaillevel of the displayed data. The device furthermore comprises locatingmeans, such as a GNSS receiver, and communicating means for wirelesslyreceiving the data from a remote server 40.

The depicted mobile device 30 has communication means for establishing aconnection with the server 40 via the internet 70 by means of a wirelessconnection 35 to a cell phone base station 75. On the remote server 40,data files are stored as nodes of a hierarchical file system 400, thedata files comprising information about the three-dimensional terrain.

A request unit of the mobile device 30 sends a request to the remoteserver 40 to provide a certain data file for downloading, the data filee. g. comprising a bitmap of a part of the terrain in a certainresolution level. The remote server 40 then sends the requested file tothe mobile device 30, so that the information is displayable on thedisplay 31.

FIG. 3 shows an exemplary hierarchical file system 400, wherein datafiles at a plurality of different detail levels 331-335 are stored asnodes of the file system 400. In general, a node of such a hierarchicalfile system 400 can have as few as one or two child nodes, or as many asseveral dozens.

In the first detail level 331 (comprising the fewest details) there isthe top node 410. The top node 410 has three child nodes 421-423 in thesecond detail level 332, each of which having child nodes in the thirddetail level 333. For the sake of clarity, this is shown here for one ofthe nodes only: node 423 has three child nodes 431-433, each of whichhaving child nodes in the fourth detail level 334. Again, this is shownfor one of the nodes only: node 433 has two child nodes 431,432, each ofwhich having a child node 451,452 in the fifth detail level 335(comprising the most details).

An exemplary embodiment of the method according to the invention employsthis hierarchical file system 400 to select those data files that arenecessary for displaying a certain portion of the three-dimensionalsurface. For each node the method comprises the step of confirmingwhether data from the respective node is needed for display, and—if itis needed—of determining whether the detail level of the respective nodeis sufficient in order to display the portion in accordance with acertain quality factor. Thereby, if the detail level is sufficient, thedata of the respective node is downloaded. If the detail level is notsufficient, the method is repeated for a child node of the respectivenode.

In FIGS. 4a and 4b an image scene 20 is depicted. Each image scene 20shows the same portion of a surface, e. g. a part of a terrain, from aninteractively chosen observation point to a user. In FIG. 4a the surface24, which is represented by a grid of coordinates 26 a-c, comprises nogeometry data and is, thus, two-dimensional. Each coordinate 26 a-c hasan elevation of zero. In FIG. 4b , geometry data has been added to thesurface 25, which is, thus, three-dimensional. Every coordinate 26 a-cis assigned an individual elevation value. Due to the elevation ofcoordinate 26 a, a part of the surface which has been visible in FIG. 4ais no longer perceivable in the image scene 20 of FIG. 4b . In order toreduce data traffic when downloading texture data to display this imagescene 20, data representing this part of the three-dimensional surface25 therefore could be omitted if the data's expendability would be knownbeforehand.

FIGS. 5a and 5b illustrate the selection of texture data on a surfacewithout and with elevation data 28.

FIG. 5a shows a portion of a surface which is composed of a number oftexture data tiles 21 a-f,22. The surface does not comprise any geometrydata. In an image scene 20 that is visualized to a user the tiles 21 a-fare visible. The other tiles 22 are not visible in this image scene 20.In a known method, the tiles 21 a-f, comprising texture and geometrydata, would be requested or downloaded from a server, in order todisplay them to the user.

In FIG. 5b the same portion of the surface is shown. In contrast to FIG.5a , geometry data is provided in form of elevation data 28 thatrepresents a hilly terrain 50 (for means of clarity the geometry issimplified here). In the same, unaltered, image scene 20, due to thiselevation data 28, some tiles 23 that formerly have been visible (tiles21 e and 21 f in FIG. 5a ) are now outside the image scene 20, and sometiles 21 g-h that formerly were outside the image scene 20 (tiles 22 inFIG. 5a ) are now visible.

This means that, in order to display all the visible texture in theimage scene 20, with provided elevation data 28 other data files need tobe provided than without. If the elevation data 28 is provided beforethe texture data, unnecessary data traffic can therefore be reduced.

FIGS. 6a and 6b illustrate the displaying of texture data on a surfacewithout and with feature data 27.

FIG. 6a shows a portion of a surface which is composed of a number oftexture data tiles. The surface does not comprise any geometry data. Inan image scene 20 the tiles 21 a-f are visible.

In FIG. 6b the same portion of the surface is shown. In contrast to FIG.6a , geometry data is provided in form of feature data 27 whichrepresents buildings. Due to this feature data 27 in the unaltered imagescene 20, some tiles 23 that formerly were visible (tiles 21 c and 21 ein FIG. 6a ) are now outside the image scene 20. This means that, inorder to display all the visible texture in the image scene 20, withprovided feature data 28 other data files (in this example less datafiles) need to be provided than without. If the feature data 28 isprovided before the texture data, unnecessary data traffic can thereforebe reduced.

FIGS. 7a and 7b are flow charts illustrating methods to be performed ona mobile device.

FIG. 7a is a flow chart illustrating a known method 200 for selectingdata files for downloading. The method starts with considering 210 thepresent image scene and determining 230 which texture data is visible inthis scene. When the visible texture data is determined, data filescomprising this texture data in the guesstimated detail level and thecorresponding geometry data can be selected 240 for downloading 250 theselected data files from a server. When the data files are downloadedand ready for rendering and displaying the present image scene isreconsidered 260 with respect to the visibility of the texture data.This is necessary, as the geometry data was not available beforedownloading the data files, and the geometry often changes thevisibility of parts of the texture in the image scene (as laid out inFIGS. 4a-b, 5a-b and 6a-b ). Reconsidering 260 then occasionally leadsto discarding 270 unnecessarily downloaded data files, when the texturedata is not visible due to the geometry. If the reconsidering 260 showsthat not all necessary texture data has been downloaded, the methodcontinues with determining 230 which (not already downloaded) texturedata is visible in the image scene. If the reconsidering 260 shows thatall necessary texture data has been downloaded, the data can be renderedand displayed 280 to the user. Alternatively, the step of displaying 280may also be performed before the step of reconsidering 260 the imagescene. This, disadvantageously, leads to holes in the texture, though.

FIG. 7b is a flow chart illustrating an exemplary embodiment of a method100 according to the invention for selecting data files for requestingfrom a server.

The method starts with considering 210 the present image scene. Then,according to the invention, geometry data, for instance DEM or DTMelevation data, for the present image scene is loaded 120, e. g. into acache of the device. Particularly, the geometry data is stored in a datastorage system of the device and provided to the cache. Alternatively,it can be downloaded from the server, where it is provided separatelyfrom the texture data.

Particularly, the geometry data is stored in indexed sections,independent of the structure of the rendered data, in a cache of thedevice, for instance cached according to the least recently usedstrategy (LRU cache). It may also involve duplication of elevation dataat the borders of the different sections. This way of storing thegeometry data for instance allows faster elevation queries, such asplacing features (e. g. icons or vector data) that do not have heightinformation assigned.

Then, based on the loaded geometry data, texture data which is visiblein the present image scene and needs to be displayed is determined 130.In particular, texture which is hidden behind displayable features ofthe geometry data, such as buildings, or behind elevations in a hillyterrain will not be displayed and therefore do not need to be loaded.For instance, elevation data can be used for an improved estimation oftexture tile bounding boxes for checking the tiles' visibility.

Optionally, in a step 135 also the needed detail level of the texturedata is determined. This can be computed depending on the elevation ofthe respective texture data relative to the virtual camera position ofthe image scene. Textures which are nearer to the camera positionusually are preferred to be displayed with higher detail levels. Theelevation is known from the geometry data. This step prevents theexpendable transferring of data files with texture data not having asuitable detail level, and thus helps further reducing data traffic.

Based on the determining step(s) 130,135, data files comprising theneeded texture data in the correct detail level are selected 140 fordownloading and then downloaded 150 from the server (obviously,alternatively the files can also be uploaded by the server to the deviceupon request from the device). As the correct data files are thenprovided on the device, no further reconsidering steps are necessary andthe data can be rendered and displayed 180 to the user. As there are nodata files transferred unnecessarily, with this method the data trafficcan be largely reduced.

The rendering preferably also comprises a dynamical computing ofgeometry for rendering texture data on the surface in different detaillevels. This means that vertex coordinates, texture coordinates andindex buffer are computed from elevation data, depending on the incoming2D texture tiles and their coordinate reference system and boundingboxes. This enables a dynamic “re-projection” of the map data, forinstance when zooming in the same area, and supports a rendering oftexture data having different source coordinate reference systemsdirectly in the same image scene, i.e. if the coordinate system of atexture tile is different from that of the geometry data this processinvolves “re-projecting” the respective tile bounding box. In order toreduce data traffic, these computations are preferably performed by acalculation unit of the mobile device, e. g. a graphics processing unit(GPU). Thus, geometry in only one detail level needs to be transferred.

Depending on the size and resolution of the geometry data on the server,there may also be LOD-ing of the height maps: when zooming through thetexture detail levels (e. g. levels 0-18), optionally some height mapgeometry levels (e. g. levels 8 and 12) can be loaded on the way.

Especially if the data connection is slow and the displaying of thedownloaded texture data is thus delayed, in order to avoid holes in theimage scenes, default surface texture can be rendered on the geometrydata and be displayed. Particularly, the default surface texture cancomprise information provided by the geometry data, such as isohypsesfor creating a contour map or colouring according to an elevation valueprovided by the geometry data. The colouring may comprise shadowingeffects or an RGB colour coding for creating a height map.

With the present invention it is also possible to combine geometry datafrom different sources and use the combined geometry data for selectingthe data files for downloading. In particular, existing global geometrydata which is stored on the mobile device can be supplemented byuseradded content. This is shown in FIG. 8 which is an image scene 20showing the portion of the surface 25 with elevation data of FIG. 4b andadditional elevation data 29. As shown here, high accuracy, denseelevation data of a certain area, e. g. for excavation work to be donein a road construction project can be merged with the prestoredelevation data. The merged data then, preferably, can be used fordetermining, which data files need to be transferred in order to display(only) the necessary texture data. After texture is applied, the mergeddata will appear to the end user as coming from a single geometrysource.

The source texture tiles can have different coordinate reference systemsand be displayed in a different target coordinate reference system. Thetarget coordinate reference system can be changed “on the fly”.

The density of the vertices of the geometry that is computed depends onthe type of source coordinate reference system and how much it differsfrom the target coordinate reference system, and of the requiredaccuracy of display.

Although the invention is illustrated above, partly with reference tosome preferred embodiments, it must be understood that numerousmodifications and combinations of different features of the embodimentscan be made. All of these modifications lie within the scope of theappended claims.

What is claimed is:
 1. A method for providing a set of data files from aserver computer to a mobile client device, the set of data filescomprising texture data being associated with a portion of athree-dimensional surface in an image scene, the three-dimensionalsurface representing a terrain, wherein the image scene is defined by anobservation point and a direction and/or angle of view, the set of datafiles is a subset of data files being stored on the server computer,each data file comprises texture data in one of a plurality of differentdetail levels, and geometry data is stored in a data storage hardware ofthe mobile client device, the geometry data comprising elevation data ofthe three-dimensional surface, wherein the method comprises: providinggeometry data that is associated with the three-dimensional surface inthe image scene from the data storage hardware to a cache memory of themobile client device; selecting data files with texture data for beingprovided by the server computer, wherein selecting data files isperformed by a processor of the client device based on the geometry dataand on visibility conditions of the three-dimensional surface in theimage scene; and requesting the provision of the selected data filesfrom the server computer to the client device.
 2. The method accordingto claim 1, wherein selecting data files comprises selecting, based onthe geometry data, data files to be requested, the texture data of whichis visible in a present image scene and has a required detail level,wherein data files, the texture data of which is not visible in apresent image scene due to a geometry of the three-dimensional surface,are not requested.
 3. The method according to claim 1, wherein thegeometry data comprises: displayable models of individual buildings ortrees.
 4. The method according to claim 1, wherein the visibilityconditions comprise: a visibility of a portion of the three-dimensionalsurface in the image scene; and a detail level of the texture dataassociated with the portion of the three-dimensional surface in theimage scene, wherein the detail level meets criteria of a predefinedresolution quality factor, being calculated based on a distance from thesurface to an observation point, wherein calculating the quality factoris also based at least on at least one of the following: a screencoverage factor related to how much a texture would cover a computerdisplay surface when displayed; a scene coverage factor related to howmuch of a texture covers a surface located in a scene outside a computerdisplay edge; and an actual area a minimum enclosing volume would coverof a rendering surface.
 5. The method according to claim 1, furthercomprising rendering provided texture data based on the geometry dataassociated with the portion of the three-dimensional surface anddisplaying the rendered data on a display of the mobile device.
 6. Themethod according to claim 5, further comprising rendering defaultsurface texture until the texture data is provided and displayable,wherein the default surface texture is based on the geometry data. 7.The method according to claim 6, wherein the default surface texturecomprises isohypses, colouring, and/or shading according to an elevationvalue provided by the geometry data, the default surface texture beingcomputed by a graphics processing unit.
 8. The method according to claim1, wherein the geometry data is stored in the cache memory according tothe least recently used cache algorithm.
 9. The method according toclaim 1, wherein the geometry data is stored in the cache memory inindexed portions, independent of a structure of the texture data. 10.The method according to claim 1, wherein providing geometry data furthercomprises merging geometry data with user-defined geometry data, whereinselecting data files is based on the merged geometry data.
 11. Themethod according to claim 1, wherein the method further comprises:dynamically computing at least one set of altered elevation data fromthe provided elevation data, each set of altered elevation data having adifferent detail level, wherein different detail levels of the alteredelevation data are based on detail levels of the texture data, whereinselecting data files with texture data for requesting from the server isbased on a set of altered elevation data.
 12. A mobile client deviceadapted for requesting a set of data files from a server computer, themobile client device comprising a display, a data storage hardware, acache memory, and a processor, and the set of data files comprisingtexture data being associated with a portion of a three-dimensionalsurface in an image scene, the three-dimensional surface representing aterrain, wherein the image scene is defined by an observation point anda direction and/or angle of view, the set of data files is a subset ofdata files being stored on the server computer, and each data filecomprises texture data in one of a plurality of different detail levels,the display is adapted for displaying the image scene, the data storagehardware having geometry data comprising elevation data of thethree-dimensional surface, and being adapted for providing geometry datathat is associated with the portion of the three-dimensional surface inthe image scene to the cache memory, the processor is adapted forselecting, based on the geometry data and on visibility conditions ofthe texture, data files with texture data for being provided by theserver computer, and the processor is adapted for requesting theprovision of the selected data files from the server computer.
 13. Themobile client device according to claim 12, wherein the cache memory isadapted to store the geometry data according to a recently used cachealgorithm.
 14. The mobile client device according to claim 12, whereinthe processor comprises a graphics processing unit, wherein selectingdata files and/or computing default surface texture comprisingisohypses, colouring and/or shading according to an elevation valueprovided by the geometry data is performed by the graphics processingunit.
 15. The mobile client device according to claim 12, wherein theprocessor is adapted for computing and rendering default surfacetexture, until the texture data is provided and displayable, wherein thedefault surface texture is based on the geometry data, wherein thedefault surface texture comprises isohypses, colouring and/or shadingaccording to an elevation value provided by the geometry data.
 16. Themobile client device according to claim 12, wherein the processor isadapted for merging provided geometry data with user-defined geometrydata, and the processor is also adapted for selecting data files withtexture data for being provided by the server computer based on mergedgeometry data.
 17. The mobile client device according to claim 12,wherein the geometry data comprises elevation data of thethree-dimensional surface and the processor is adapted for dynamicallycomputing at least one set of altered elevation data from the providedelevation data, each set of altered elevation data having a differentdetail level, wherein different detail levels of the altered elevationdata are based on detail levels of the texture data, wherein theprocessor is adapted for selecting data files with texture data forrequesting from the server computer based on a set of altered elevationdata.
 18. A non-transitory computer program product, comprising programcode which is stored on a machine-readable medium comprising a programcode segment, and having computer-executable instructions for performingthe following: providing geometry data that is associated with athree-dimensional surface in an image scene from a data storage hardwareof a mobile client device to a cache memory of the mobile client device,wherein the geometry data comprises elevation data of thethree-dimensional surface and the three-dimensional surface represents aterrain; selecting a set of data files with texture data for beingprovided by a server computer, wherein selecting data files is performedby a processor of the mobile client device based on the geometry dataand on visibility conditions of the three-dimensional surface in theimage scene; and requesting the provision of the selected data filesfrom the server computer to the client device, wherein: the image sceneis defined by an observation point and a direction and/or angle of view,the set of data files is a subset of data files being stored on theserver computer, and each data file comprises texture data in one of aplurality of different detail levels.